package com.quxiu.system.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.quxiu.system.domain.BpmHandler;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
public class BpmApprovalRecordVo {
    /** 节点id */
    private Long nodeId;

    /** 节点名称 */
    private String nodeName;

    /** 节点类型 */
    private String nodeType;
    /** 节点状态：0-未开始 1-进行中 2-已完成 */
    private String status;
    /**
     * 处理人
     */
    private Long handlerId;
    private String handlerName;
    /** 处理状态：0-未开始 1-待处理 2-已处理 */
    private String handleStatus;
    /** 处理结果：1-通过 2-驳回 3-加签 4-委派 */
    private String handleResult;
    /** 处理意见 */
    private String handleOpinion;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date handleTime;
    private List<BpmHandler> handlers = new ArrayList<>();

    /**
     * 处理模式 1-依次审批（按顺序同意或拒绝） 2-会签（需要所有审批人都同意才可通过）3-或签（其中一名审批人同意或拒绝即可）
     */
    private Integer handleModel;
    /**
     * 处理人范围 1-指定人员 2-部门主管 3-连续多级主管 4-发起人自选
     */
    private Integer handlerScope;

    public void addHandler(BpmHandler handler) {
        this.handlers.add(handler);
    }
}
